//
//  HWConfigTool.m
//  HandicapWin
//
//  Created by zjp on 16/3/29.
//  Copyright © 2016年 张金鹏. All rights reserved.
//

#import "HWConfigTool.h"

@implementation HWConfigTool



////获取域名地址
//
+(NSString*)getHostUrl
{
    /*
    //正式地址
    NSString* res = HW_IP_OFFICAL_ADDRESS;
//
//
    res = [self forTest];
#ifndef  __OFFICIAL_SERVER_DEBUG__
    //测试地址
    res = HW_IP_TEST_ADDRESS;
#else

#endif

    return res;
     */
    return @"";
}

+(NSString *)forTest
{
    /*
    //     测试用
    NSString* res = HW_IP_OFFICAL_ADDRESS;
    
    NSString *ip = [[NSUserDefaults standardUserDefaults] objectForKey:TestIpAddressKey];
    NSString *port = [[NSUserDefaults standardUserDefaults] objectForKey:TestIpPortKey];
    
    if (ip != nil && port != nil && [port length] > 2) {
        res = [NSString stringWithFormat:@"%@:%@/",ip,port];
    }
    else
    {
        //        [ProgressHUD showSuccessWithStatus:@"自定义ip 端口"];
    }
    
    return res;
    */
    return @"";
}




// httpoperator  调用  和下面两种都需要
+(void)setHttpSystemHeaderWithAFNManager:(NSMutableURLRequest *)request
{
    if (request == nil) {
        return;
    }

    [request setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    NSString *cookie = [LRTools ct_getHWCookie];
    [request setValue:cookie forHTTPHeaderField:@"x-YpCookie"];
    [request setValue:@"ios" forHTTPHeaderField:@"x-phoneType"];
    [request setValue:[self platformString] forHTTPHeaderField:@"x-phoneModel"];
    [request setValue:[self getPlatform] forHTTPHeaderField:@"x-phonePlatForm"];

    [request setValue:LR_VERSION_CODE forHTTPHeaderField:@"x-version"];
    [request setValue:[[UIDevice currentDevice] systemVersion] forHTTPHeaderField:@"x-osVersion"];
    
    
    QCDeviceModel *deviceModel = [[QCDeviceManager sharedInstance] getDevieModel];
    if (deviceModel != nil) {
        NSString *idfa = deviceModel.idfa;
        if (idfa == nil) {
            idfa = @"";
        }
        [request setValue:idfa forHTTPHeaderField:@"x-idfa"];
        
        NSString *deviceToken = deviceModel.deviceToken;
        if (deviceToken == nil) {
            deviceToken = @"";
        }
        [request setValue:deviceToken forHTTPHeaderField:@"x-deviceToken"];
        
    }
    
#ifdef CPB_AK_NUM
    //    [postASIRequset addRequestHeader:@"x-ak" value:CPB_AK_NUM];
#endif
    NSLog(@"request.allHTTPHeaderFields--%@",request.allHTTPHeaderFields);

}

// afn单例方式添加调用  和上面两种都需要

+(void)setHttpSystemHeaderWithAFHTTPRequestSerializer:(AFHTTPRequestSerializer *)request
{
    if (request == nil) {
        return;
    }
    [request setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    NSString *cookie = [LRTools ct_getHWCookie];
    [request setValue:cookie forHTTPHeaderField:@"x-YpCookie"];
    [request setValue:@"ios" forHTTPHeaderField:@"x-phoneType"];
    [request setValue:[self platformString] forHTTPHeaderField:@"x-phoneModel"];
    [request setValue:[self getPlatform] forHTTPHeaderField:@"x-phonePlatForm"];
    [request setValue:LR_VERSION_CODE forHTTPHeaderField:@"x-version"];
    [request setValue:[[UIDevice currentDevice] systemVersion] forHTTPHeaderField:@"x-osVersion"];
    
    
    QCDeviceModel *deviceModel = [[QCDeviceManager sharedInstance] getDevieModel];
    if (deviceModel != nil) {
        NSString *idfa = deviceModel.idfa;
        if (idfa == nil) {
            idfa = @"";
        }
        [request setValue:idfa forHTTPHeaderField:@"x-idfa"];
        
        NSString *deviceToken = deviceModel.deviceToken;
        if (deviceToken == nil) {
            deviceToken = @"";
        }
        [request setValue:deviceToken forHTTPHeaderField:@"x-deviceToken"];
        
    }
    
#ifdef CPB_AK_NUM
    //    [postASIRequset addRequestHeader:@"x-ak" value:CPB_AK_NUM];
#endif
    
    NSLog(@"request.HTTPRequestHeaders--%@",request.HTTPRequestHeaders);
}


//获取手机型号
+ (NSString *)platformString
{
    // Gets a string with the device model
    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    free(machine);
    
    if ([platform isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    if ([platform isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
    if ([platform isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
    if ([platform isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
    if ([platform isEqualToString:@"iPhone3,3"])    return @"Verizon iPhone 4";
    if ([platform isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
    if ([platform isEqualToString:@"iPhone5,1"])    return @"iPhone 5 (GSM)";
    if ([platform isEqualToString:@"iPhone5,2"])    return @"iPhone 5 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone5,3"])    return @"iPhone 5c (GSM)";
    if ([platform isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone6,1"])    return @"iPhone 5s (GSM)";
    if ([platform isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";
    if ([platform isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([platform isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([platform isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";
    if ([platform isEqualToString:@"iPhone8,2"])    return @"iPhone 6s plus";
    if ([platform isEqualToString:@"iPhone8,4"])    return @"iPhone  SE";

    if ([platform isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";
    if ([platform isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";
    if ([platform isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";
    if ([platform isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";
    if ([platform isEqualToString:@"iPod5,1"])      return @"iPod Touch 5G";
    if ([platform isEqualToString:@"iPad1,1"])      return @"iPad";
    if ([platform isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";
    if ([platform isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";
    if ([platform isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
    if ([platform isEqualToString:@"iPad2,4"])      return @"iPad 2 (WiFi)";
    if ([platform isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";
    if ([platform isEqualToString:@"iPad2,6"])      return @"iPad Mini (GSM)";
    if ([platform isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";
    if ([platform isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad3,3"])      return @"iPad 3 (GSM)";
    if ([platform isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";
    if ([platform isEqualToString:@"iPad3,5"])      return @"iPad 4 (GSM)";
    if ([platform isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";
    if ([platform isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";
    if ([platform isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";
    if ([platform isEqualToString:@"iPad4,4"])      return @"iPad mini 2G (WiFi)";
    if ([platform isEqualToString:@"iPad4,5"])      return @"iPad mini 2G (Cellular)";
    if ([platform isEqualToString:@"i386"])         return @"Simulator";
    if ([platform isEqualToString:@"x86_64"])       return @"Simulator";
    
    return platform;
}

+(NSString *)getPlatform
{
    size_t size;
    sysctlbyname("hw.machine", NULL, &size, NULL, 0);
    char *machine = malloc(size);
    sysctlbyname("hw.machine", machine, &size, NULL, 0);
    NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
    free(machine);
    if (platform == nil) {
        platform = @"";
    }
    return platform;
}

@end
